Overall modernization#22
Conversation
…e native test structure
Coverage Report for CI Build 28825164886Warning No base build found for commit Coverage: 88.596%Details
Uncovered ChangesNo uncovered changes found. Coverage RegressionsRequires a base build to compare against. How to fix this → Coverage Stats
💛 - Coveralls |
- Make tsc idempotent: clean compiled artifacts before every build via a
clean-compiled helper routed through build/prepare/test, fixing TS5055
("would overwrite input file") on repeated builds and npm install.
- Drop the `open` dependency; the doc and benchmark flows now print a
file:// link instead of auto-launching a browser.
- Add typedoc.json (name, excludes, externalSymbolLinkMappings) for a
zero-warning docs build; the doc script prints a file:// link.
- Remove obsolete @access/@constructor JSDoc tags (redundant with TS
visibility keywords).
- Add TypeScript-mapped coverage (--enable-source-maps) and a
test-coverage-html report script that prints a file:// link.
- Remove redundant mocha/nyc/typescript package.json blocks.
- Make isThenable generic so downstream stricter configs compile.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01S7M9ZZCRc9SUFAchcuPLw6
- Make @Profile work as both a standard (TC39) and a legacy (experimentalDecorators) decorator via runtime mode detection, so services that must keep legacy decorators (e.g. sequelize-typescript consumers) can still use it alongside @imqueue/rpc's standard decorators. - Restore the public uuid() helper (src/uuid.ts) and its export, dropped during the earlier modernization; downstream services rely on it via @imqueue/rpc re-export. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01S7M9ZZCRc9SUFAchcuPLw6
Remove the Coveralls coverage-upload step and run `npm test` instead of `npm run test-lcov`; the workflow is now a simple lint/format + test gate. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01S7M9ZZCRc9SUFAchcuPLw6
Mikhus
left a comment
There was a problem hiding this comment.
Please, trake a look to my comments
| * Default time (ms) send() waits for the first cluster server to become | ||
| * available before rejecting, when the cluster is still empty. | ||
| */ | ||
| const SEND_INIT_TIMEOUT = 30000; |
There was a problem hiding this comment.
I would make this configurable via environment variables
There was a problem hiding this comment.
smth like IMQ_SEND_INIT_TIMEOUT to match the other vars naming pattern
| * // ... implementation goes here | ||
| * return this; | ||
| * } | ||
| public async start(): Promise<SomeMQAdapter> { |
There was a problem hiding this comment.
formatting looks broken to me here, could you, please verify? I see it is comment section, but, anyway, code indentation looks weird
| * public myMethod() { | ||
| * // ... | ||
| * } | ||
| @profile(true) // forced profiling |
There was a problem hiding this comment.
same here about indentation formatting
| * } | ||
| @profile() // profiling happened only depending on env DEBUG flag | ||
| private innerMethod() { | ||
| // ... |
There was a problem hiding this comment.
same here about indentation formatting
| @@ -1,113 +0,0 @@ | |||
| /*! | |||
There was a problem hiding this comment.
I would keep this for backward compatibility for the cases where someone has been using this function from the lib, because even if it is not used in the project internally there might be some uusers exporting and using this for some reason
There was a problem hiding this comment.
or we can remove, but we need to keep it then perfectly stated in documentation
| 'end ' + | ||
| 'redis.call("zremrangebyscore", KEYS[1], ' + | ||
| '"-inf", ARGV[1]) ' + | ||
| 'while messages[i] do ' + |
There was a problem hiding this comment.
I would keep readable indentation here as well, just to make human read more easily :)
| @@ -1,73 +0,0 @@ | |||
| /*! | |||
There was a problem hiding this comment.
I would keep the export of native uuid, so keep backward compatibility for thoise who's been exporting this from imq
There was a problem hiding this comment.
same here and in other similar places - if we remove, MUST be well documented as migration plan
No description provided.